package cn.qingyun.gis.modules.baogan.service;

import cn.qingyun.gis.modules.baogan.entity.MicroStreetData;
import cn.qingyun.gis.modules.baogan.vo.request.*;
import cn.qingyun.gis.modules.baogan.vo.response.*;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

public interface MicroStreetDataService extends IService<MicroStreetData> {

    /**
     * 看管划分-基本信息查询
     *
     * @param request
     * @return
     */
    StreetBaseResponse getWatchDivisionBaseInfo(IdRequest request);

    /**
     * 面数据详情查询
     * @param microGridCode
     * @param id
     * @return
     */
    PolygonDetailRes selectStreetDetail(String microGridCode, String id);

    List<TeamItemVo> listTeam(GridCodeAndKeyListRequest request);

    Set<ChannelItemVo> listChannel(GridCodeAndKeyListRequest request);

    /**
     * 获取面数据内企业列表
     * @param id
     * @return
     */
    List<EnterpriseResponse> selectEnterpriseList(String id);

    AoiBaseInfoVo getAoiBaseInfo(AoiBaseInfoGetRequest request);

    /**
     * 查询待审核面数据列表
     * @param request
     * @return
     */
    List<MicroStreetAuditLogResp> selectAuditData(PendingAuditRequest request);

    /**
     * 周边查询
     * @param request
     * @return
     */
    List<PerimeterDataResp> selectPerimeterData(PerimeterRequest request);

    /**
     * 审批页面查询面详情
     * @param id
     * @param s
     * @return
     */
    MGridDetailRes getReviewingDetail(String id, String s);

    boolean addBoundary(MicroStreetData data);

    void updateWKT(MicroStreetData streetData);

    MicroStreetData selectOneById(String id);

    boolean saveBoundary(MicroStreetData data);
}
